package at.codejedi.sto.gui;

import java.awt.event.ActionListener;
import java.io.File;
import java.util.List;

import javax.swing.event.ChangeListener;

import at.codejedi.sto.gui.combat.ICombatLogView;

public interface IMainView {

	public abstract void addCloseDetailsActionListener(ActionListener l);

	public abstract void addCombatLogView(String name,
			ICombatLogView combatLogView);

	public abstract void addRecentFileSelectedActionListener(ActionListener l);

	public abstract void addWindowClosingActionListener(ActionListener l);

	public abstract File chooseCombatFilePath();

	public abstract File chooseCombatFilePath(File startPath);

	public abstract void closeDetails(boolean enabled);

	public abstract void copyDetailsToClipboard(ActionListener l);

	public abstract void copyDetailsToClipboard(boolean enabled);

	public void createShipBuild(ActionListener l);

	public abstract void openCombatLogFile(ActionListener l);

	public void persistCombatLogEnabled(boolean enabled);

	public abstract void removeCombatLogView(ICombatLogView combatLogView);

	public abstract void selectOpenCombatLogFile(ChangeListener l);

	public abstract void setRecentFilesList(List<File> files);

	public abstract void showException(Throwable t);

	public abstract void showInfo(String title, String message);

	public abstract void showView();

	public abstract void showWarning(String title, String message);
}